package com.admin.education.services.Interfaces;

import com.admin.education.common.exceptions.ResourceNotFoundException;
import com.admin.education.dataTransferObject.PageRequest;
import com.admin.education.dataTransferObject.PageResponse;
import com.admin.education.dataTransferObject.ServicesExcuteResult;
import com.admin.education.dataTransferObject.designations.DesignationsTransfer;
import com.admin.education.dataTransferObject.designations.request.CreateDesignationsRequest;
import com.admin.education.dataTransferObject.designations.request.UpdateDesignationsRequest;

import javax.validation.Valid;

public interface IDesignationsService {
    ServicesExcuteResult<PageResponse<DesignationsTransfer>> queryDesignationss(@Valid PageRequest pageRequest);
    ServicesExcuteResult createDesignations(@Valid CreateDesignationsRequest createDesignationsRequest);
    ServicesExcuteResult updateDesignations(long designationsId, @Valid UpdateDesignationsRequest updateDesignationsRequest) throws ResourceNotFoundException;
    ServicesExcuteResult setValid(long designationsId) throws ResourceNotFoundException;
    ServicesExcuteResult<DesignationsTransfer> queryDesignationsById(long designationsId) throws ResourceNotFoundException;
    ServicesExcuteResult deleteDesignations(long designationsId) throws ResourceNotFoundException;
}
